package cn.iocoder.yudao.module.cmt.dal.dataobject.team;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * TeamInfo DO
 *
 * @author 芋道源码
 */
@TableName("cmt_team_info")
@KeySequence("cmt_team_info_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TeamInfoDO extends BaseDO {

    /**
     * 团队ID
     */
    @TableId
    private Long id;
    /**
     * 社区ID
     */
    private Long communityId;
    /**
     * 社区名称
     */
    @TableField(exist = false)
    private String communityName;
    /**
     * 商户ID(团队所属商户)
     */
    private Long merchantId;
    /**
     * 商户名称
     */
    @TableField(exist = false)
    private String merchantName;
    /**
     * 团队名称
     */
    private String name;
    /**
     * 团队logo
     */
    private String logo;
    /**
     * 团队类型：1志愿者团队 2文艺团队 3教育团队 4医疗团队 5科技团队
     */
    private Integer teamType;
    /**
     * 成立日期
     */
    private LocalDateTime establishDate;
    /**
     * 团队规模
     */
    private String teamSize;
    /**
     * 成员数量
     */
    private Integer memberCount;
    /**
     * 团队简介
     */
    private String introduction;
    /**
     * 特色服务
     */
    private String featuredService;
    /**
     * 服务领域(JSON数组)
     */
    private String serviceFields;
    /**
     * 服务区域
     */
    private String serviceRegion;
    /**
     * 负责人会员ID
     */
    private Long leaderUserId;
    /**
     * 负责人人员ID
     */
    private Long leaderPersonId;
    /**
     * 负责人姓名
     */
    private String leaderName;
    /**
     * 负责人职位
     */
    private String leaderPosition;
    /**
     * 负责人电话
     */
    private String leaderPhone;
    /**
     * 负责人邮箱
     */
    private String leaderEmail;
    /**
     * 地址
     */
    private String address;
    /**
     * 累计活动数
     */
    private Integer totalActivities;
    /**
     * 累计服务时长
     */
    private BigDecimal totalServiceHours;
    /**
     * 口碑评分
     */
    private BigDecimal rating;
    /**
     * 招募状态：0不招募 1招募中
     */
    private Integer recruitmentStatus;
    /**
     * 审核状态：0待审核 1通过 2拒绝
     */
    private Integer auditStatus;
    /**
     * 审核人ID
     */
    private Long auditUserId;
    /**
     * 审核时间
     */
    private LocalDateTime auditTime;
    /**
     * 审核备注
     */
    private String auditRemark;
    /**
     * 团队状态：0停用 1正常
     */
    private Integer teamStatus;
    /**
     * 排序
     */
    private Integer sort;

}
